package pdfsetter.core.schema;

import pdfsetter.core.util.RandomAccessIterable;

/**
 * FillingSchema represents schema of how to choose pages from files. We can think about it as a setting pages from several files to some order. Expected number
 * of files tells us how many files this schema is using. The value less than zero means that this schema can be applied to any number of files but not less
 * than absolute value of this number.
 * 
 * @author Andrzej Dorobisz
 */
public interface FillingSchema {
    RandomAccessIterable<PageSelection> getPageSelections();

    int getExpectedNumberOfFiles();
}
